<script>
  //   给你一个有效的 IPv4 地址 address，返回这个 IP 地址的无效化版本。

  //   所谓无效化 IP 地址，其实就是用 "[.]" 代替了每个 "."。

  // **** 题源：leetcode 1108

  //   输入：address = "255.100.50.0" [.]
  //   输出："255[.]100[.]50[.]0"

  /**
   * 分析
   * 数组方法 将地址 转化为 数组的形式 遍历找到.的下标进行替换
   * 正则方法 配合 replaceAll 实现
   * 字符串拼接法 需要一个str 变量
   */

  /**
   * @param {string} address
   * @return {string}
   */

  var address = '255.100.50.0';
  const test = /\./g; // 找到 . 的字符串 由于 . 在正则中表示元字符 所以需要转义符\ -> \.  即匹配一个 . 的字符串
  //   replace() 方法返回一个由替换值（replacement）替换部分或所有的模式（pattern）匹配项后的新字符串。
  //   模式可以是一个字符串或者一个正则表达式，替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。
  //   如果pattern是字符串，则仅替换第一个匹配项。

  //   replaceAll 尝试能否处理这个问题  把所有 符合条件的 都替换  使用正则的时候 要注意 g 全局匹配
  var defangIPaddr = function (address) {
    return address.replaceAll(test, '[.]');
  };

  console.log(defangIPaddr(address));
</script>
